home *** CD-ROM | disk | FTP | other *** search
/ Hacker 1 / HACKER01.ISO / Utils / WinG 100 / README.TXT < prev    next >
Text File  |  1994-09-20  |  7KB  |  170 lines

  1. Microsoft WinG version 1.0
  2. --------------------------
  3. This file describes known bugs, gotchas, and helpful hints for the WinG
  4. Version 1.0 final release.
  5.  
  6. ISVs may want to distribute portions of this readme file that describe
  7. configuration bugs along with shipping products that use WinG.
  8.  
  9. WinG version 1.0 provides fast DIB-to-screen blts under Windows 3.1,
  10. Windows for Workgroups 3.11, Windows 95, and Windows NT version 3.5.
  11. WinG will not run on Windows NT version 3.1 or on earlier versions of
  12. Windows.
  13.  
  14. WinG requires a 386 or better processor to run. WinG will not run on a
  15. 286.
  16.  
  17. If you have problems with WinG, please run the wingbug.exe file in
  18. the bin directory of the SDK and send the generated report to
  19. wingbug@microsoft.com.  Updated information on WinG is available
  20. on CompuServe in the WINMM forum and on ftp.microsoft.com.
  21.  
  22.  
  23. Known Bugs And Limitations
  24. --------------------------
  25. The following are known problems with or useful tidbits of information
  26. about WinG version 1.0.
  27.  
  28. - On Windows 3.1, WinGBitmaps must be 8 bits per pixel and must be
  29.   created with full 256 entry color tables.
  30.  
  31. - WinGDCs are NOT palette devices. You must change their color tables
  32.   using WinGSetDIBColorTable, not SelectPalette.
  33.  
  34. - WinGBitBlt and WinGStretchBlt only support bltting from WinGDCs to the
  35.   screen.
  36.  
  37. - Using BitBlt and StretchBlt to blt from one WinGDC to
  38.   another can be very slow when a clipping region has been
  39.   selected into the destination.
  40.  
  41. - WinGBitBlt and WinGStretchBlt may return different values than
  42.   StretchDIBits for identical blts.
  43.  
  44. - A few GDI APIs do not work correctly with WinGDCs:
  45.  
  46.     StretchDIBits will not blt 24bpp and 16bpp DIBs into an 8bpp WinGDC.
  47.     FloodFill with a NULL brush draws incorrectly
  48.     FloodFill outside of the bounds of a WinGBitmap can flood the
  49.       entire image
  50.     Brushes created with CreatePatternBrush with a WinGBitmap fault when
  51.       selected into a WinGDC on Win3x - use CreateBitmap(8,8,1,8,0)
  52.     DrawIcon will crash
  53.     WinGBitBlt and WinGStretchBlt will not always blt to the correct
  54.       location when you have changed the Viewport and/or Window origins
  55.       using SetViewportOrg or SetWindowOrg.
  56.  
  57. - You cannot change the origin of halftone brushes created by WinG.
  58.  
  59. - Noticeable timing differences have been found while running the
  60.   WinG profiler on a computer connected to a network. For accurate
  61.   results, disconnect your computer from the network the first time you
  62.   run a WinG application. After the profile is complete, you can plug the
  63.   net in again. NOTE: Microsoft is not liable for any damage you may
  64.   incur by incorrect handling of your computer hardware.
  65.  
  66. - WinGBitBlt and WinGStretchBlt use a slightly different color matching
  67.   algorithm than StretchDIBits when blting an 8-bit image to a 4-bit
  68.   planar display such as a standard VGA. Mixing WinG and
  69.   StretchDIBits on these displays may produce odd results.
  70.  
  71. - WinG relies on the mmsystem timer drivers to determine display
  72.   performance. If mmsystem.dll and timer.drv are not installed
  73.   correctly, the results of the performance test may be incorrect.
  74.   mmsystem.dll should appear on the drivers= line of the [boot]
  75.   section of system.ini, and timer=timer.drv should appear in the
  76.   [drivers] section of system.ini.
  77.  
  78. - WinG version 1.0 does not yet use standard DCI because of time
  79.   constraints.
  80.  
  81. - "Just In Time" debuggers install a fault handler in a chain along
  82.   with the WinG display performance profiler. If your debugger
  83.   reports a fault during the WinG display performance test, pass the
  84.   fault on to Windows instead of invoking your debugger.
  85.  
  86.  
  87. Driver-Specific Problems
  88. ------------------------
  89. WinG depends on Windows display drivers written by independant
  90. hardware manufacturers for much of its speed. Bugs or performance
  91. problems in third-party display drivers may cause problems in WinG.
  92. In many cases, the video card manufacturer has already fixed the bug,
  93. and upgrading your display driver will often clear away problems.
  94.  
  95. There are some specific "bugs" in display drivers of which you should
  96. be aware. The list below is not intended to slight the manufacturer
  97. of any particular card or driver.
  98.  
  99. A list of stress-tested configurations is available on the CompuServe
  100. WINMM forum and ftp.microsoft.com.
  101.  
  102. Some names in this list are trademarks of the respective
  103. manufacturer.
  104.  
  105. - Early drivers for Diamond Viper cards included a "Power Palette"
  106.   option that is no longer supported by Diamond. They recommend that
  107.   you upgrade your drivers if you have this option. WinG may be
  108.   slower when power palette is enabled.
  109.  
  110. - IBM no longer supports the IBM ThinkPad 720c. There are some
  111.   problems using WinG with the ThinkPad 720c display drivers.
  112.  
  113. - Cirrus drivers before version 1.43 have many known bugs which
  114.   have been fixed in the more recent drivers. Be sure to upgrade your
  115.   drivers if you are still running with this version.
  116.  
  117. - Some ATI drivers offer a "Crystal Fonts" option. Turning Crystal
  118.   Fonts on in 8-bit modes sets up a non-palettized driver that can
  119.   slow WinG significantly.
  120.  
  121. - The ATI mach8 Radical drivers cause a number of problems in both
  122.   WinG and in Windows with some versions of the ATI chipset. Be
  123.   aware.
  124.  
  125. - The ATI VGA Wonder drivers (W31-*.drv) will crash during a call to
  126.   StretchDIBits in the profiler.  Users can run the SVGA256.DRV driver
  127.   that shipped with Windows.
  128.  
  129. - Many miro Crystal drivers have problems with StretchDIBits, so they
  130.   crash during profiling.
  131.  
  132. - Early ATI Mach 32 PCI cards have a hardware timing problem and will
  133.   hang while blting.  ATI will replace these cards for no cost.
  134.  
  135. - WinG is incompatible with the #9GXE "TurboCopy" mode.  Use the
  136.   #9 control panel to disable TurboCopy (it is off by default).
  137.   
  138. - WinG uses a GetPixel to synchronize with display hardware when
  139.   writing directly to the screen.  The ATI Mach 32 driver's GetPixel
  140.   does not work properly, so it is possible to use GDI to draw to
  141.   the screen, then use WinG to blt to the screen and have them overwrite
  142.   each other.  Be careful mixing GDI drawing commands and WinG blts
  143.   to the display.
  144.  
  145. - The Orchid mmtllo.drv driver for the Prodesigner IIs has duplicate
  146.   system colors which prevents applications from getting an identity
  147.   palette and greatly reduces the WinG blt speed.  A workaround is
  148.   to set SYSPAL_NOSTATIC mode or use standard the Tseng ET4000 drivers
  149.   instead of the mmtllo drivers.
  150.  
  151.  
  152. A Note on Speed
  153. ---------------
  154. WinG is designed to be the absolute fastest way to blt DIBs under
  155. Windows.  The goal, achieved in many cases, is to blt at memory
  156. bandwidth to the display device.
  157.  
  158. On most 8bpp devices, if you use the recommended DIB format (returned
  159. by WinGRecommendDIBFormat) and set up correct identity palette, you
  160. should get 1:1 blt speeds comparable to BitBlt, which blts device
  161. dependent bitmaps (DDBs) to the display.  The timewing sample
  162. application will show you various blt speeds on your display.
  163.  
  164. The WinGRecommendDIBFormat API will tell you whether to use top-down
  165. or bottom-up DIBs for fastest unclipped 1:1 identity palette blts. If
  166. you plan on using other types of blt (such as stretching or complex
  167. clipping), your application may want to time top-down versus
  168. bottom-up blts itself at run time. See the WinG help file for more
  169. information.
  170.